Virtual Reality (VR) has been an effective means of sharing experiences and providing an immersive environment by streaming a 360-degree video to a VR display device for viewing by a user. The 360-degree videos usually have large file sizes thereby making it an impediment to deliver without compromising on quality to the VR display device. In order to reduce high bandwidth required in delivering 360-degree video to the VR display devices, compression techniques for 360-degree video encoding and network transmission have to be deployed.
An effective technique for 360-degree video compression involves view-dependent streaming where a fraction of the 360-degree video frame (hereinafter referred to a ‘viewport’) that corresponds to the part of 360-degree video, the user can currently see, i.e., the field of view (FOV) of the user, is streamed to the VR display device with high quality. For the part of 360-degree video that is outside of the user's field of view, it is to be streamed to the VR display with lower quality. This technique is commonly known as view optimization.
A state of art view optimization technique involves applying 3D pyramid mapping to each frame of the 360-degree video. In this technique, each frame of the 360-degree video is converted into a smaller pyramid shaped video frame to create a viewport. The front view of each of such view ports has full resolution and full frame rate video data while side views and rear views involve gradually increased spatial compression. Aforesaid technique results in a reduction in file size of the 360-degree video and provides a high video quality of the front view. However, when the user turns to a side or to back the heavy spatial compression provides a low quality video experience. To overcome low quality of the side views, the user may be provided with another viewport with the view orientation aligned to that of the user, instead of viewing the side view of the previous viewport. However, the switching from one viewport to another viewport often involves delay due to network latency and video decoding process. Therefore, the low quality video can still be seen depending on the user head movement which causes unpleasant viewing experience.
Accordingly, there is a need for a solution that can help improve the video quality of the 360-degree video irrespective of amount of motion in the video content. Further, there is a need to improve the video quality without involving major increases in total network bandwidth.